import UIKit

@available(iOS 7.0, *)
extension QKC where AA :NSTextAttachment {
	// These two properties define the contents for the text attachment.  Modifying these properties have a side effect of invalidating -image and -fileWrapper properties. -fileType is an UTI describing the format for -contents.
    @available(iOS 7.0, *)
    open func contents_qk_s(_ contents:  Data?) -> QKC<AA,YY,ZZ, Data?>{
		return link(next: contents).then_QK { $0.value.contents = contents }
	}
    @available(iOS 7.0, *)
    open func contents_qk_g() -> QKC<AA,YY,ZZ, Data?>{
		 self +^ self.value.contents
	}

    @available(iOS 7.0, *)
    open func fileType_qk_s(_ fileType:  String?) -> QKC<AA,YY,ZZ, String?>{
		return link(next: fileType).then_QK { $0.value.fileType = fileType }
	}
    @available(iOS 7.0, *)
    open func fileType_qk_g() -> QKC<AA,YY,ZZ, String?>{
		 self +^ self.value.fileType
	}

	// Image representing the text attachment contents. Modifying this property invalidates -contents, -fileType, and -FileWrapper properties.
    @available(iOS 7.0, *)
    open func image_qk_s(_ image:  UIImage?) -> QKC<AA,YY,ZZ, UIImage?>{
		return link(next: image).then_QK { $0.value.image = image }
	}
    @available(iOS 7.0, *)
    open func image_qk_g() -> QKC<AA,YY,ZZ, UIImage?>{
		 self +^ self.value.image
	}

	// Defines the layout bounds of the receiver's graphical representation in the text coordinate system.  The origin is at the glyph location on the text baseline.  The default value is CGRectZero.
    @available(iOS 7.0, *)
    open func bounds_qk_s(_ bounds:  CGRect) -> QKC<AA,YY,ZZ, CGRect>{
		return link(next: bounds).then_QK { $0.value.bounds = bounds }
	}
    @available(iOS 7.0, *)
    open func bounds_qk_g() -> QKC<AA,YY,ZZ, CGRect>{
		 self +^ self.value.bounds
	}

	// Optionally, NSTextAttachment can be associated with a file wrapper. Modifying this property has a side effect of invalidating -image, -contents, and fileType properties.
    open func fileWrapper_qk_s(_ fileWrapper:  FileWrapper?) -> QKC<AA,YY,ZZ, FileWrapper?>{
		return link(next: fileWrapper).then_QK { $0.value.fileWrapper = fileWrapper }
	}
    open func fileWrapper_qk_g() -> QKC<AA,YY,ZZ, FileWrapper?>{
		 self +^ self.value.fileWrapper
	}

}

